package com.ruoyi.chat.mapper;

import java.util.List;
import com.ruoyi.chat.domain.FriendRequest;
import com.ruoyi.common.core.cond.AddFriendRequestCond;
import com.ruoyi.common.core.vo.AddFriendUserVO;
import org.apache.ibatis.annotations.Param;

/**
 * 好友请求记录Mapper接口
 * 
 * @author zhc
 * @date 2025-05-31
 */
public interface FriendRequestMapper 
{
    /**
     * 查询好友请求记录
     * 
     * @param id 好友请求记录主键
     * @return 好友请求记录
     */
    public FriendRequest selectFriendRequestById(String id);

    /**
     * 查询好友请求记录列表
     * 
     * @param friendRequest 好友请求记录
     * @return 好友请求记录集合
     */
    public List<FriendRequest> selectFriendRequestList(FriendRequest friendRequest);

    /**
     * 新增好友请求记录
     * 
     * @param friendRequest 好友请求记录
     * @return 结果
     */
    public int insertFriendRequest(FriendRequest friendRequest);

    /**
     * 修改好友请求记录
     * 
     * @param friendRequest 好友请求记录
     * @return 结果
     */
    public int updateFriendRequest(FriendRequest friendRequest);

    /**
     * 删除好友请求记录
     * 
     * @param id 好友请求记录主键
     * @return 结果
     */
    public int deleteFriendRequestById(String id);

    /**
     * 批量删除好友请求记录
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteFriendRequestByIds(String[] ids);

    Boolean addFriendRequest(@Param("userId") Long userid,@Param("cond") AddFriendRequestCond addFriendRequestCond);

    boolean hasRequested(@Param("userId")Long userid,@Param("cond") AddFriendRequestCond addFriendRequestCond);

    List<AddFriendUserVO> queryFriendRequest(@Param("userId") Long userid);
}
